<?php
/**
 * Created by PhpStorm.
 * User: zhaiyujin
 * Date: 19-8-28
 * Time: 上午10:59
 */
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;

use \Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;


/**
 * 类名 Users
 * 创建者: TonicGB
 * 说明:JWT 需要在 User 模型中实现 Tymon\JWTAuth\Contracts\JWTSubject 接口。 此接口需要实现两个方法  getJWTIdentifier 和 getJWTCustomClaims
 */
class Admin extends Authenticatable
{
    use Notifiable,HasApiTokens;
    /**
     * 可分配的属性.
     *
     * @var array
     */
    protected $fillable = [
        'openid' ,
        'phone' ,
        'email' ,
        'name' ,
        'nickName' ,
        'session_key',
        'avatar' ,
        'unionid' ,
        'login_ip' ,
    ];
    //表名

    // 不自动更新 created_at 和 updated_at
    //public $timestamps = false;

    //设置主键id,如果是id可以不用设置
    //protected $primaryKey="id";
    /**
     * 应该为数组隐藏的属性。
     *
     * @var array
     */
   /* protected $hidden = [
        'password', 'remember_token',
    ];*/

    // 为简洁省略了其余部分


    /**
     * 获取将存储在JWT的主题声明中的标识符。
     *
     * @return mixed
     */
    public function getJWTIdentifier() {
        return $this->getKey();
    }

    /**
     * Get the password for the user.
     *获取用户密码
     * @return string
     */
    public function getAuthPassword()
    {
        //return $this->user_password;
    }
    /**
     * 额外在 JWT 载荷中增加的自定义内容
     * 返回一个键值数组，包含要添加到JWT的任何自定义声明
     * @return array
     */
    public function getJWTCustomClaims()
    {
        return ['role' => 'user'];
    }
}
